package com.mdd.admin.service;

import com.mdd.admin.validate.commons.PageValidate;
import com.mdd.admin.validate.order.CouponCreateValidate;
import com.mdd.admin.validate.order.CouponIssuingValidate;
import com.mdd.admin.validate.order.CouponSearchValidate;
import com.mdd.admin.vo.coupon.CouponSettingVo;
import com.mdd.admin.vo.coupon.CouponVo;
import com.mdd.common.core.AjaxResult;
import com.mdd.common.core.PageResult;
import com.mdd.common.entity.coupon.CouponIssuing;
import org.checkerframework.checker.units.qual.C;

import java.util.List;

/**
 * @author shenjian
 * @createTime 2023年02月27日 22:06:00
 */
public interface  ICouponService {

    /**
     * 设置优惠券配置
     * @return AjaxResult<Object>
     */
    List<CouponSettingVo> getConfig();

    /**
     * 设置优惠券配置
     * @param couponList
     * @return AjaxResult<Object>
     */
    AjaxResult<Object> config(List<CouponSettingVo> couponList);

    /**
     * 优惠券列表
     * @param pageValidate
     * @param searchValidate
     * @return
     */
    PageResult<CouponVo> list(PageValidate pageValidate, CouponSearchValidate searchValidate);

    /**
     * 创建优惠券
     * @param createValidate
     * @return
     */
    int create(CouponCreateValidate createValidate);

    /**
     * 发放优惠券
     * @param issuingValidate
     * @return 优惠券随机码
     */
    String issuing(CouponIssuingValidate issuingValidate);
}
